﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace JQuery.Net
{
    public interface IGadgetZone
    {
        string ClientID { get; }

        string ID { get; }

        string Title { get; }

        string EmptyZoneText { get; }

        string ActionIcon { get; }

        bool IsPersonalizationEnabled { get; set; }

        bool ShowActionMenu { get; }

        bool ShowZoneHeader { get; }

        bool EnableContextMenu { get; }

        JQNGadgetZoneMode Mode { get; }

        JQNDockLocation Dock { get; }

        JQNGadgetZoneType Type { get; set; }

        IEnumerable<IGadget> Gadgets { get; }

        IEnumerable<IActionVerb> Actions { get; }
    }

    public interface IDockSupport
    {
        JQNDockLocation Location { get; }
        JQNDockTabAlignment TabAlignment { get; }
    }

    public interface IGadgetZoneSettings
    {
        PersonalizationSupport State { get; }

        IDockSupport Dock { get; }

        string ZoneSettingsToJSON(IGadgetZone zone);

        string GadgetSettingsToJSON(IGadget gadget);

        string GlobalSettingsToJSON();
    }
}
